#include <stdio.h>

#define MAX_N 40 /* 定义最大计算项数 */

/* 递归计算斐波那契数列 */
int fibonacci(int n)
{
    if (n <= 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
}

int main()
{
    printf("斐波那契数列演示 (递归实现)\n");
    printf("数列: 0, 1, 1, 2, 3, 5, 8, 13, ...\n\n");

    int n;
    printf("请输入项数 n (建议 n <= %d): ", MAX_N);
    scanf("%d", &n); /* 使用 scanf 获取整数输入 */

    if (n < 0)
    {
        fprintf(stderr, "错误: n 必须是非负整数。\n");
        return 1;
    }
    if (n > MAX_N)
    {
        fprintf(stderr, "警告: n 值过大，计算可能耗时很长。\n");
    }

    printf("\nF(%d) = %d\n", n, fibonacci(n));

    return 0;
}